
$(document).ready(function(e){
    page_init();
});

// ===========================================================================================

function page_init()
{
	findpwd();
}

function findpwd()
{
	// 表单处理
	$(".single").each(function(index, element) {
        cls=$(this).attr("class");
		$(this).wrap("<div class='group'><div class='bindgroup'></div></div>").removeAttr("class");
		$(this).parent().append($("<span class='tips'></span>")).addClass(cls);
    });	
	$(".phone").append($("<span class='tips'></span>"));
	
	// 验证错误时，用户可以清空当前输入内容
	$(".bindgroup").on("click",".tips",function(){ $(this).prev().val("").focus(); $(this).removeAttr("class").addClass("tips warning"); });
	$("input").keyup(function(e){
		if(e.which==13)
			$(".sub").trigger("click");
	});
	
	// 验证码
	$(".get_yzm").click(function yzm(){
		
		// 验证手机号
		elm = $(".phone input");
		val = elm.val();
		switch(true)
		{
			case val=="":
				elm.focus().next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !is_phone(val):
				elm.focus().next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				elm.next().removeAttr("class").addClass("tips success");
		}
		
	
		$(".get_yzm").addClass("disable");
		// 发送数据
		$.ajax({
			url:"user!sendmsg.do?type=2&method=findpwd",
			type:"post",
			data:{time:new Date().valueOf()/1000,phone:val},
			dataType:"json",
			success: function(result){
				
				if(result==0){
					Tips("短信已经发送成功，请注意查收！");
					// 时间问题
					timer = 120 ;
					$(".get_yzm").html(timer+" 秒").off("click").addClass("disable");
					tempt = setInterval(function(){
						if( --timer!=0 )
							$(".get_yzm").html(timer+" 秒");
						else
						{
							$(".get_yzm").on("click",yzm).html("获取验证码").removeClass("disable");
							clearInterval(tempt);
						}
					},1000);
					
				}else if(result==2){
					Tips("您的手机号码尚未注册！");
					elm.focus().next().removeAttr("class").addClass("tips failed");
				}else{
					Tips("发送时间太短！");
				}
				
			}
		});
		
	});

	// 验证用户名
	/*regname = $(".regname input");
	regname.blur(function(){
		val = regname.val();
		switch(true)
		{
			case val=="":
				regname.next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !Boolean(val.match(/^\w{6,12}$/)):	// 正则：只能以汉字和字母开头，其余部分不能包含特殊字符
				regname.next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				// 发送数据
				$.ajax({
					url:"user!checkusername.do",
					type:"post",
					data:{username:val},
					dataType:"json",
					success: function(result){
						//alert(result)
						if(result==0){
							regname.next().removeAttr("class").addClass("tips success");
						}else{
							regname.next().removeAttr("class").addClass("tips failed");
							Tips("用户已被注册！");
						}
					
					}
				});
		}
	});*/
	
	// 密码 1
	regpwd1 = $(".regpwd1 input");
	regpwd1.blur(function(){
		val = regpwd1.val();
		switch(true)
		{
			case val=="":
				regpwd1.next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !Boolean(val.match(/^\S{6,20}$/)):	// 正则：密码 6-20 位
				regpwd1.next().removeAttr("class").addClass("tips failed");
				Tips("新密码长度必须密码 6-20 位");
				return false; break;
			default:
				regpwd1.next().removeAttr("class").addClass("tips success");
		}
	});
		
	// 密码 2
	regpwd2 = $(".regpwd2 input");
	regpwd2.blur(function(){
		val = regpwd2.val();
		switch(true)
		{
			case val=="":
				regpwd2.next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !Boolean(val.match(/^\S{6,20}$/)):	// 正则：密码 6-20 位
				Tips("新密码长度必须密码 6-20 位");
				regpwd2.next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				regpwd2.next().removeAttr("class").addClass("tips success");
		}
		
		// 输入密码一致
		switch(true)
		{
			case regpwd1.val()!=regpwd2.val():	// 正则：两次输入的密码要一致
				Tips("两次输入的密码不一致");
				regpwd2.next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				regpwd2.next().removeAttr("class").addClass("tips success");
		}
	});
	
/*	// 验证邮箱
	email = $(".email input");
	email.blur(function(){
		val = email.val();
		switch(true)
		{
			case val=="":
				email.next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !is_email(val):
				Tips("邮箱格式错误");
				email.next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				email.next().removeAttr("class").addClass("tips success");
			
		}
	});*/
	
	// 手机
	phone = $(".phone input");
	phone.blur(function(){
		val = phone.val();
		switch(true)
		{
			case val=="":
				phone.next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !is_phone(val):
				Tips("手机号码不合法！");
				phone.next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				phone.next().removeAttr("class").addClass("tips success");
				
	}});
		
	// 验证码
	yzm = $(".yzm input");
	yzm.blur(function(){
		val = yzm.val();
		phone = $(".phone input").val();

		switch(true)
		{
			case val=="":
				yzm.next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !Boolean(val.match(/^\d{4}$/)):	// 正则：只能以汉字和字母开头，其余部分不能包含特殊字符
				yzm.next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				// 发送数据
				$.ajax({
					url:"user!checkMsgCode.do",
					type:"post",
					data:{yzm:val,phone:phone},
					dataType:"json",
					success: function(result){
						if(result==0){
							yzm.next().removeAttr("class").addClass("tips success");
						}else{
							Tips("验证码错误！");
								yzm.next().removeAttr("class").addClass("tips failed");	
						}
						
						
						
					}
				});
		}
	});
	
	// 提交验证
	$(".sub").click(function(){
		
		// 用户名
	/*	elm = $(".regname input");
		val = elm.val();
		switch(true)
		{
			case val=="":
				elm.focus().next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !Boolean(val.match(/^[a-zA-Z\u4e00-\u9fa5]{1}[\u4e00-\u9fa5\w-]{0,18}[\u4e00-\u9fa5\w]{1}$/)):	// 正则：只能以汉字和字母开头，其余部分不能包含特殊字符
				elm.focus().next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				elm.next().removeAttr("class").addClass("tips success");
		}*/
		
		// 密码 1
		elm = $(".regpwd1 input");
		val = elm.val();
		switch(true)
		{
			case val=="":
				elm.focus().next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !Boolean(val.match(/^\S{6,20}$/)):	// 正则：密码 6-20 位
				elm.focus().next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				elm.next().removeAttr("class").addClass("tips success");
		}
		
		// 密码 2
		elm = $(".regpwd2 input");
		val = elm.val();
		switch(true)
		{
			case val=="":
				elm.focus().next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !Boolean(val.match(/^\S{6,20}$/)):	// 正则：密码 6-20 位
				elm.focus().next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				elm.next().removeAttr("class").addClass("tips success");
		}
		
		// 输入密码一致
		elm1 = $(".regpwd1 input");
		elm2 = $(".regpwd2 input");
		switch(true)
		{
			case elm1.val()!=elm2.val():	// 正则：两次输入的密码要一致
				elm2.focus().next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				elm2.next().removeAttr("class").addClass("tips success");
		}
		
/*		// 邮箱
		elm = $(".email input");
		val = elm.val();
		switch(true)
		{
			case val=="":
				elm.focus().next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !is_email(val):
				elm.focus().next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				elm.next().removeAttr("class").addClass("tips success");
		}*/
		
		// 手机
		elm = $(".phone input");
		val = elm.val();
		switch(true)
		{
			case val=="":
				elm.focus().next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !is_phone(val):
				elm.focus().next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				elm.next().removeAttr("class").addClass("tips success");
		}
		
		// 验证码
		elm = $(".yzm input");
		val = elm.val();
		switch(true)
		{
			case val=="":
				elm.focus().next().removeAttr("class").addClass("tips warning");
				return false; break;
			case !Boolean(val.match(/^\d{4}$/)):	// 正则：只能以汉字和字母开头，其余部分不能包含特殊字符
				elm.focus().next().removeAttr("class").addClass("tips failed");
				return false; break;
			default:
				elm.next().removeAttr("class").addClass("tips success");
		}
		
		// 发送数据
		regname = $(".regname input").val();
		regpswd = $(".regpwd2 input").val();
		email = $(".email input").val();
		phone = $(".phone input").val();
		$.ajax({
			url:"user!torepwd.do",
			type:"post",
			data:{user:regname,pswd:regpswd,email:email,phone:phone,yzm:$(".yzm input").val()},
			dataType:"json",
			success: function(result){
				if(result==1){
					Tips("密码修改成功！");
					window.location.href="user!alert.do?flag=success";
				}else if(result==2){
					Tips("密码修改错误！");
					 $(".regname input").focus();
				}else{
					window.location.href="user!alert.do?flag=error";
				}
			
			}
		});
	});
	
	// 调试区，发布时请注销
//	$(".regname input").val("Eric");
//	$(".regpwd1 input").val("123456");
//	$(".regpwd2 input").val("123456");
//	$(".email input").val("10000@gmail.com");
//	$(".phone input").val("15050050050");
//	$(".yzm input").val("4554");
}



function is_email(str)
{
	reg=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z]+$/; 
	if(reg.test(str))
		return true; 
	else
		return false;
}

function is_phone(str)
{
	//	所有手机号码
	//	130 131 132 133 134 135 136 137 138 139	---- /^13\d{9}$/
	//	xxx xxx xxx xxx xxx 145 xxx 147 xxx xxx ---- /^14[57]\d{8}$/
	//	150 151 152 153 xxx 155 156 157 158 159 ---- /^15[012356789]\d{8}$/
	//	180 181 182 183 184 185 186 187 188 189 ---- /^18\d{9}$/
	
	reg=/^1([38]\d|4[57]|5[012356789])\d{8}$/;
	if(reg.test(str))
		return true;
	else
		return false;
}


document.onreadystatechange=function()
{
	var body_w = $(window).width()>1024 ? 600 : $(window).width() ;
	var body_h = $(window).height();
	
	// 页面完全加载
	if(document.readyState=="complete")
	{
		// 隐藏遮罩，显示页面
		$(".framepage").fadeIn();
		$(".hf_overlay").fadeOut();
		$(".hf_overlay > div").fadeOut();
		
		// 页面滚动效果
		//frame_pulltorefresh();
		$(".wrapper").css({overflow:"auto"});
	}	
}
